Previous: Message Buffers, Up: Variables [Contents][Index]
When Message is being used from a news/mail reader, the reader is likely to want to perform some task after the message has been sent. Perhaps return to the previous window configuration or mark an article as replied.
The user may exit from the message buffer in various ways. The
most common is C-c C-c, which sends the message and
exits. Other possibilities are C-c C-s which just
sends the message, C-c C-d which postpones the message
editing and buries the message buffer, and C-c C-k
which kills the message buffer. Each of these actions have lists
associated with them that contains actions to be executed:
message-send-actions,
message-exit-actions,
message-postpone-actions, and
message-kill-actions.
Message provides a function to interface with these lists:
message-add-action. The first parameter is the
action to be added, and the rest of the arguments are which lists
to add this action to. Here’s an example from Gnus:
(message-add-action `(set-window-configuration ,(current-window-configuration)) 'exit 'postpone 'kill)
This restores the Gnus window configuration when the message buffer is killed, postponed or exited.
An action can be either: a normal function, or a list
where the CAR is a function and the
CDR is the list of arguments, or a form to be
evaled.